package com.xiaoye.qbproject.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaoye.qbproject.domain.QbSubjectArticle;
import com.xiaoye.qbproject.domain.wiki.QbPublishVo;
import com.xiaoye.qbproject.vo.QbSubjectArticleVo;

import java.util.List;

/**
 * @author Administrator
 * @description 针对表【QB_SUBJECT_ACTICLE(专题文章)】的数据库操作Service
 * @createDate 2025-01-15 19:50:49
 */
public interface QbSubjectArticleService extends IService<QbSubjectArticle> {
    /**
     * @param qbSubjectArticle
     * @description: 获取专题文章列表
     * @author: ChenYao
     * @return: java.util.List<com.xiaoye.qbproject.domain.QbSubjectArticle>
     * @ceateDate: 2025/1/15 下午8:03
     */
    List<QbSubjectArticle> getArticleList(QbSubjectArticleVo qbSubjectArticle);

    /**
     * @param qbSubjectArticle
     * @description: 添加专题文章
     * @author: ChenYao
     * @return: int
     * @ceateDate: 2025/1/17 下午7:22
     */

    int add(QbSubjectArticle qbSubjectArticle);

    /**
     * @param qbSubjectArticle
     * @description: 编辑专题文章
     * @author: ChenYao
     * @return: int
     * @ceateDate: 2025/1/17 下午7:22
     */

    int editById(QbSubjectArticle qbSubjectArticle);

    /**
     * @param qbPublishVo
     * @description: 发布文章
     * @author: ChenYao
     * @return: int
     * @ceateDate: 2025/4/26 下午4:56
     */

    int publish(QbPublishVo qbPublishVo);

    Long getPublishedCount(String userId);

    List<QbSubjectArticle> getPublishedArticles(String userId, Boolean isFilterRead);

    void saveOrUpdateArtBatch(List<QbSubjectArticle> subjectArticleList);

}
